package com.study.lu;

import java.util.Arrays;

/**
 * @author raoLuPing
 * @date 2022/06/24 17:49
 **/
public class 寻找数组的中心下标 {
    public static void main(String[] args) {
        int[] nums = {2,-1,1};
        System.out.println(pivotIndex(nums));
    }

    public static int pivotIndex(int[] nums) {
        int sum = Arrays.stream(nums).sum();
        int tempSum =0;
        for (int i = 0; i < nums.length; i++) {
            if(2*tempSum+nums[i]==sum){
                return i;
            }
            tempSum += nums[i];
        }
        return -1;
    }

//    public static int pivotIndex2(int[] nums) {
//        if (null == nums || nums.length == 0) {
//            return -1;
//        }
//        if (nums.length == 1) {
//            return 0;
//        }
//        int left = 0, right = nums.length - 1;
//        int leftSum = nums[left], rightSum = nums[right];
//
//        while (true) {
//            if (leftSum == rightSum) {
//                if (left == right - 2) {
//                    if (left == 0) {
//                        return left;
//                    }
//                    if (right == nums.length - 1) {
//                        return right;
//                    }
//                    return left + 1;
//                } else {
//                    return -1;
//                }
//            }
//            if (left >= right) {
//                return -1;
//            }
//            if (leftSum > rightSum) {
//                right--;
//                rightSum = rightSum + nums[right];
//
//            } else if (leftSum < rightSum) {
//                left++;
//                leftSum = leftSum + nums[left];
//            } else {
//                left++;
//                leftSum = leftSum + nums[left];
//                right--;
//                rightSum = rightSum + nums[right];
//
//            }
//        }
//
//
//    }
}
